package com.algorithm.threehundred2fourhundred;

import java.util.*;

/**
 * @author tuzhijin
 * @version Id: Intersection_349.java, v 0.1 2021/5/22 上午7:42 tuzhijin Exp $$
 */
public class Intersection_349 {

    public static void main(String[] args) {
        int[] nums1 = {1, 2, 2, 1}, nums2 = {2, 2};
        System.out.println(Arrays.toString(intersection(nums1, nums2)));

    }

    public static int[] intersection(int[] nums1, int[] nums2) {
        // 初始化,默认先把nums1的数据放进map
        Map<Integer, Integer> init = new HashMap<>(16);
        List<Integer> result = new ArrayList<>();
        for (int i = 0; i < nums1.length; i++) {
            init.put(nums1[i], nums1[i]);
        }
        for (int i = 0; i < nums2.length; i++) {
            // 判断初始化map和已添加的集合里是否有，若都没有则满足(输出的结果里面元素不能重复)
            if (init.containsKey(nums2[i]) && !result.contains(nums2[i])) {
                result.add(nums2[i]);
            }
        }
        // Integer集合转int数组
        return result.stream().mapToInt(Integer::intValue).toArray();

    }


}
